<html>
<head>
	<title>Change Log</title>
	<style type="text/css">
		body { font: normal 10pt Helvetica, Arial, sans-serif; }
	</style>
</head>
<body><h1>Enyim Memcached Version History</h1>

<h2>Version 2.10</h2>

<ul>
<li>Fixed <a href="https://github.com/enyim/EnyimMemcached/issues#issue/65">Issue #65</a> - Getting multiple keys twice in a row fails.</li>
</ul>

<h2>Version 2.9</h2>

<ul>
<li>Fixed <a href="https://github.com/enyim/EnyimMemcached/issues#issue/37">Issue #48</a> - Allow the socket pool use maxPoolSize number of sockets instead of (max - min).</li>
<li>Fixed the ObjectDisposedException coming from the DefaultNodeLocator.</li>
<li>Multi-get now uses <a href="http://msdn.microsoft.com/en-us/library/aa365198(v=vs.85).aspx">IOCP</a> instead of threads from the ThreadPool. Performance should be the comparable or better (depending on the amount of items and size).</li>
<li>New DataContractSerializer to enable caching of EntityFramework or LINQ to SQl entitites. See also <a href="https://github.com/enyim/EnyimMemcached/issues/54">Issue #54</a>.</li>
<li>Items should always be hashed to the same node when using the KetamaNodeLocator. (<a href="https://github.com/enyim/EnyimMemcached/commit/5fb9bfefb5bf1d9b584933d9517afaa6dc8de273">5fb9bfefb5bf1d9b5849</a>)</li>
<li>CasResult now contains the status code of Set/Add/Replace operations. (<a href="https://github.com/enyim/EnyimMemcached/commit/b8cb1639d600dbca695051ce7cf59132614f0cd7">b8cb1639d600dbca6950</a>)</li>
<li>Expirations specified in TimeSpans are not limited to 30 days.</li>
</ul>

<h2>Version 2.8</h2>

<ul>
<li>Performance monitoring support. The included DefaultPerformanceMonitor will use Windows performance counters. See <a href="http://github.com/enyim/EnyimMemcached/wiki/Configure-the-Performance-Monitor">the wiki</a> about configuring this feature.</li>
<li>Fixed a race condition in the InterlockedQueue. See <a href="https://github.com/enyim/EnyimMemcached/issues#issue/36">Bug #36</a>. Thanks to <a href="https://github.com/danp60">danp60</a>.</li>
<li>Now it's possible to change the timeout for acquiring a socket from a full pool. This can help reduce the impact of a dead node on yor application. See the <a href="https://github.com/enyim/EnyimMemcached/wiki/MemcachedClient-Configuration">memached/socketPool</a> element on the wiki.</li>
<li>Fixed <a href="https://github.com/enyim/EnyimMemcached/issues#issue/37">Issue #37</a> - NLogFactory class name incorrect.</li>
<li>Added some workarounds for undisposed clients blocking IIS application pool recycles causing 100% CPU spikes.</li>
</ul>

<h2>Version 2.7</h2>

<ul>
<li>Removed log4net from the project and made the log provider configurable. See http://github.com/enyim/EnyimMemcached/wiki/Configure-Logging</li>
<li>Fixed the config section to default to the Binary protocol. (The MemcachedClientConfiguration was already doing this for some time.)</li>
<li>The client no longer checks if objects are larger than 1MB, but lets the server sort it out.</li>
</ul>
</body>
</html>
